<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/GraphMyCode.Web.Dtos" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/GraphMyCode.Web.Dtos" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:3309/AssemblyService.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:simpleType name="ExportType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Assembly" />
      <xs:enumeration value="Class" />
      <xs:enumeration value="Method" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ExportType" nillable="true" type="tns:ExportType" />
  <xs:complexType name="GraphMapDto">
    <xs:sequence>
      <xs:element minOccurs="0" name="Graph" nillable="true" type="tns:GraphDto" />
      <xs:element minOccurs="0" name="Legend" nillable="true" type="tns:LegendDto" />
      <xs:element minOccurs="0" name="Metadata" nillable="true" type="tns:MetadataDto" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GraphMapDto" nillable="true" type="tns:GraphMapDto" />
  <xs:complexType name="GraphDto">
    <xs:sequence>
      <xs:element minOccurs="0" name="edges" nillable="true" type="tns:ArrayOfEdgeDto" />
      <xs:element minOccurs="0" name="vertices" nillable="true" type="tns:ArrayOfVertexDto" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GraphDto" nillable="true" type="tns:GraphDto" />
  <xs:complexType name="ArrayOfEdgeDto">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="EdgeDto" nillable="true" type="tns:EdgeDto" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEdgeDto" nillable="true" type="tns:ArrayOfEdgeDto" />
  <xs:complexType name="EdgeDto">
    <xs:sequence>
      <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Attributes" nillable="true" type="q1:ArrayOfKeyValueOfstringstring" />
      <xs:element minOccurs="0" name="IsDirectional" type="xs:boolean" />
      <xs:element minOccurs="0" name="Source" nillable="true" type="tns:VertexDto" />
      <xs:element minOccurs="0" name="Target" nillable="true" type="tns:VertexDto" />
      <xs:element minOccurs="0" name="Thick" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EdgeDto" nillable="true" type="tns:EdgeDto" />
  <xs:complexType name="VertexDto">
    <xs:sequence>
      <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Attributes" nillable="true" type="q2:ArrayOfKeyValueOfstringstring" />
      <xs:element minOccurs="0" name="Color" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Shape" type="tns:NodeShape" />
      <xs:element minOccurs="0" name="Text" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Weight" type="xs:double" />
      <xs:element minOccurs="0" name="X" type="xs:double" />
      <xs:element minOccurs="0" name="Y" type="xs:double" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="VertexDto" nillable="true" type="tns:VertexDto" />
  <xs:simpleType name="NodeShape">
    <xs:restriction base="xs:string">
      <xs:enumeration value="None" />
      <xs:enumeration value="Box" />
      <xs:enumeration value="Ellipse" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="NodeShape" nillable="true" type="tns:NodeShape" />
  <xs:complexType name="ArrayOfVertexDto">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="VertexDto" nillable="true" type="tns:VertexDto" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfVertexDto" nillable="true" type="tns:ArrayOfVertexDto" />
  <xs:complexType name="LegendDto">
    <xs:sequence>
      <xs:element minOccurs="0" name="BackgroundColor" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BackgroundOpacity" type="xs:double" />
      <xs:element minOccurs="0" name="BorderColor" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Bottom" type="xs:double" />
      <xs:element minOccurs="0" name="IsVisible" type="xs:boolean" />
      <xs:element minOccurs="0" name="ItemMargin" type="xs:double" />
      <xs:element minOccurs="0" name="ItemSize" type="xs:double" />
      <xs:element minOccurs="0" name="Items" nillable="true" type="tns:ArrayOfLegendItem" />
      <xs:element minOccurs="0" name="Left" type="xs:double" />
      <xs:element minOccurs="0" name="Right" type="xs:double" />
      <xs:element minOccurs="0" name="Top" type="xs:double" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LegendDto" nillable="true" type="tns:LegendDto" />
  <xs:complexType name="ArrayOfLegendItem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LegendItem" nillable="true" type="tns:LegendItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLegendItem" nillable="true" type="tns:ArrayOfLegendItem" />
  <xs:complexType name="LegendItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="Color" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Shape" type="tns:NodeShape" />
      <xs:element minOccurs="0" name="Text" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LegendItem" nillable="true" type="tns:LegendItem" />
  <xs:complexType name="MetadataDto">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Type" type="tns:ExportType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MetadataDto" nillable="true" type="tns:MetadataDto" />
</xs:schema>